Menu Analyse FR
From CGSecurity
Contents |
Analyse
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Current partition structure: Partition Start End Size in sectors 1 * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] 2 P Linux 1011 0 1 1023 254 63 208845 [/boot] 3 E extended LBA 1024 0 1 14592 254 63 217985985 5 L Linux RAID 1024 1 1 3573 254 63 40965687 [md0] X extended 3574 0 1 4210 254 63 10233405 6 L Linux RAID 3574 1 1 4210 254 63 10233342 [md1] X extended 4211 0 1 14592 254 63 166786830 7 L Linux 4211 1 1 14592 254 63 166786767 *=Primary bootable P=Primary L=Logical E=Extended D=Deleted [Proceed ] [ Save ] Try to locate partition
Cette fonctionnalité analyse la structure actuelle des partitions d'un disque dur puis recherche les partitions, rendant possible la récupération des partitions perdues.
Contr├┤les des partitions
TestDisk gère plusieurs types de partitionnement: - Intel - Mac - None (par exemple, support de petite capacité sans partitionnement) - Sun - XBox. L'analyse de TestDisk vérifie rapidement le partitionnement, c'est à dire le découpage logique du disque.
La structure d'une partition Intel est composée de la table MBR (Master Boot Record) et de partitions étendues. Le MBR se limite à 4 entrées. L'une de ces 4 entrées peut être une partition étendue comportant plusieurs partitions logiques. Chacune de ces partitions logiques est contenue dans une partition étendue (conteneur). Le MBR et chaque partition étendue doivent se terminer par les deux octets 0x55 et 0xAA dans cet ordre là; Ce qui compose le mot hexa décimal 0xAA55 (en effet, les CPU des systèmes x86 sont des "little-endian".) Une entrée de partition se compose de:
- début de la partition sous forme CHS
- fin de la partion sous forme CHS
- système de fichiers
- position logique de la partition
- taille de la partition en secteurs
- flag boot
Seule une partition primaire doit avoir le flag boot activé. Le stockage des informations CHS est limité à un maximum de 1024 cylindres(0-1023). C'est pour ça qu'on retrouve la fameuse limitation de 8 Giga octets (1024*255*63 = 16450560 secteurs = 8422686720 octets).
Les logiciels d'exploitation et les BIOS modernes emploient le mode de LBA pour accéder aux données, mais le code exécutable contenu dans le secteur d'initialisation des FAT12/16/32 fait toujours référence à la géométrie sous forme CHS. TestDisk vérifie que chaque valeur est dans les limites autorisées: c'est à dire, aucune valeur de secteur n'est inférieure à 1, ni supérieure au nombre de secteurs par tête. Les entrées de partition sont lues en utilisant le début logique et la taille logique exprimés en secteurs, alors TestDisk vérifie si ces valeurs logiques correspondent aux informations stockées sous forme CHS. TestDisk vérifie également que la table des partitions ne comporte pas de partition se terminant après la fin du disque, et qu'aucune partition ne se chevauche.
Une table des partitions SUN (Sun Label) peut avoir jusqu'à 8 entrées de partition. L'entrée numéro 2 est réservée et désigne le disque entier.
Contrôles de système de fichiers
Pour chaque partition, TestDisk lance quelques contrôles de base spécifiques au type de système de fichiers, il contrôle le secteur de boot ou superblock de chaque système de fichiers. ext2/ext3/reiserfs/jfs ont le même type de système de fichiers: 0x83, TestDisk doit vérifier chacun de ces systèmes de fichiers. Les contrôles sont identiques que à utilisés quand TestDisk recherche des partitions: - présence de valeur magique ou de signature (c-à-d, 0xAA55 à offset 0x1FE d'un secteur de démarrage FAT ou NTFS). - valeurs cohérentes (c'est à dire, la valeur free_blocks_count est inférieure à blocks_count pour ext2) Cette phase est très rapide car les contrôles sont minimaux.
Rétablissement de partition
Dans la deuxième étape, TestDisk recherche 'les partitions perdues' sans se servir des résultats de l'étape précédente. C'est un des avantages les plus importants de TestDisk. TestDisk retrouve les partitions et scanne tous les cylindres appropriés pour ces partitions. Une partition primaire commence au début d'un cylindre (tête=0, secteur=1), tandis qu'une partition logique commence un peu plus loin (tête=1, secteur=1). Pour chaque adresse possible de début de partition, TestDisk peut rechercher la présence d'une en-tête de système de fichiers (secteur de démarrage FAT ou NTFS, superblock EXT2/EXT3, label de disque BSD...), ce qui confirme la présence d'un type connu de partition. Ainsi, la taille d'une partition est déterminée directement à partir de sa structure sur le disque. Chaque partition découverte par TestDisk est ajoutée à une liste de partitions trouvées.
Pour détecter une partition FAT32, TestDisk recherche l'indicateur 0xAA55 et la signature FAT32
, il lance également les contrôles correspondants au système de fichiers FAT :
- la signature doit être de la forme 0xeb 0xXX 0x90
ou 0xe9 0xXX 0xXX
o├╣ 0xXX
peut être n'importe quel octet, et...
0xeb: A Short Jump, displacement relative to next instruction (only 8 bit).
0x90: NOP (do nothing).
0xe9: A Near Jump, displacement relative to next instruction (32 or 16 bit).
- la taille du secteur est 512
- la taille du cluster doit être 1, 2, 4, 8, 16, 32, 64 ou 128
- il doit y avoir 2 copies FAT
- le média doit être 0xF8 (aucune autre valeur n'est vue, c'est un dispositif obsolète)
- Si vous suivez les directives de MS, la signature FAT32
est sans signification mais votre système de fichiers doit l'avoir.
Suivant le nombre du clusters, TestDisk détermine le type de FAT (le nombre de cluster est supérieur ou égale à 65525 pour une partition FAT32).
Quelques contrôles spécifiques à FAT32 sont faits:
- le nombre de clusters racine doit être entre 2 et le nombre maximum de clusters,
- quelques valeurs obsolètes (nombre d'entrées de répertoire, taille de partition 16-bits) doivent être mises à à 0,
- La version FAT32 (non utilisée) doit être 0.0
Pour détecter une partition NTFS, TestDisk recherche l'indicateur 0xAA55 et la signature NTFS
, il vérifie également que quelques valeurs spécifiques aux partitions FAT sont toutes à zéro (0): Le nombre de secteurs réservés, nombre de FATs, nombre d'entrées de répertoire, la taille du système de fichiers 16-bits, la taille du systeme de fichiers 32-bits, secteurs par FAT.
Le nombre de secteurs par cluster doit être supérieur à zéro.
Pour les systèmes de fichiers FAT et NTFS, la taille de la partition sera lue dans le secteur de démarrage lui-même.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Analyse cylinder 1011/14592: 00% FAT32 0 1 1 1010 254 63 16241652 [NO NAME] Stop
Une fois l'analyse terminée, TestDisk génère le rapport des partitions trouvées.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Partition Start End Size in sectors * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] P Linux 1011 0 1 1023 254 63 208845 [/boot] D Linux 1024 1 1 3573 254 63 40965687 D Linux RAID 1024 1 1 3573 254 63 40965687 [md0] D Linux 3574 1 1 4210 254 63 10233342 D Linux RAID 3574 1 1 4210 254 63 10233342 [md1] L Linux 4211 1 1 14592 254 63 166786767 Structure: Ok. Use Up/Down Arrow keys to select partition. Use LEFT/RIGHT Arrow keys to CHANGE partition characteristics: *=Primary bootable P=Primary L=Logical E=Extended D=Deleted Keys A: add partition, L: load backup, T: change type, P: list files, ENTER: to continue FAT32, 8315 MB / 7930 MiB
Vous pouvez lister les fichiers de partitions NTFS, FAT, EXT2/EXT3 et Reiser FS en appuyant sur la touche P, le listing du répertoire FAT est limitée à 5 clusters, quelques dossiers peuvent ne pas apparaître mais cela n'affecte pas la récupération.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] Use right arrow to change directory, q to quit Directory / -rwxr-xr-x 0 0 805306368 20-Jul-2005 10:35 PAGEFILE.SYS drwxr-xr-x 0 0 0 14-Feb-2005 22:41 WINDOWS -r-xr-xr-x 0 0 4952 28-Aug-2001 15:00 Bootfont.bin -r-xr-xr-x 0 0 251712 3-Aug-2004 22:59 NTLDR -r-xr-xr-x 0 0 47564 3-Aug-2004 22:38 NTDETECT.COM -rwxr-xr-x 0 0 212 14-Feb-2005 22:51 BOOT.INI drwxr-xr-x 0 0 0 14-Feb-2005 22:47 Documents and Settings dr-xr-xr-x 0 0 0 14-Feb-2005 22:55 Program Files -rwxr-xr-x 0 0 0 14-Feb-2005 22:56 CONFIG.SYS -rwxr-xr-x 0 0 0 14-Feb-2005 22:56 AUTOEXEC.BAT -r-xr-xr-x 0 0 0 14-Feb-2005 22:56 IO.SYS -r-xr-xr-x 0 0 0 14-Feb-2005 22:56 MSDOS.SYS drwxr-xr-x 0 0 0 14-Feb-2005 23:02 System Volume Information -rwxr-xr-x 0 0 536399872 20-Jul-2005 10:36 HIBERFIL.SYS
En utilisant la liste de partitions trouvées, vous pouvez éditer la table de partition.
Il y a trois sortes de modification:
- Vous pouvez changer le type de partition avec *T*
- Vous pouvez ajouter une nouvelle partition avec *A*.
- Vous pouvez changer le statut de la partition choisie en utilisant les touches de déplacement du curseur (gauche/droite). Les statuts disponibles sont Primary, * bootable (primaire amorçable), Logical (logique), Deleted (effacée).
Lors de vos modifications, observez le statut de la structure de la table de partition. cela sera soit Ok
soit Bad
.
Structure: Ok va apparaître si tout est correct, c'est à dire, aucune partition primaire entre deux partitions étendues, seulement une ou aucune partition amorçable, aucune partition n'utilise le même espace disque.
Quand vous êtes satisfait de la modification de la table de partition, appuyez sur ENTREE. Si vous avez fait une modification, TestDisk vous donne le choix d'écrire ces données sur la table de partition, ou de lancer une analyse plus approfondie.
- Quit
Quitte le programme de TestDisk sans sauvegarder aucun changement (à moins d'avoir appuyé sur la touche ENTREE lorsque Write était 'en surbrillance').
- Search!
Le premier balayage rapide peut avoir manqué quelques partitions. Search! va rechercher également le secteur d'amorçage de sauvegarde FAT32, le superblock d'amorçage de sauvegarde NTFS, le superblock de sauvegarde EXT2/EXT3 pour détecter plus de partitions, il scannera chaque cylindre.
- Write
Écrit les changements qui ont été faits dans la mémoire tampon de TestDisk sur le disque dur. Si vous n'êtes pas sûr des changements (surtout pour la table de partition MBR), alors n'utilisez pas cette fonction!
- Extd Part
S'il y a une partition logique, cette option vous laisse décider si la partition étendue doit utiliser tout l'espace disque disponible ou seulement l'espace minimum exigé.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Partition Start End Size in sectors 1 * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] 2 P Linux 1011 0 1 1023 254 63 208845 [/boot] 3 E extended LBA 1024 0 1 14592 254 63 217985985 5 L Linux RAID 1024 1 1 3573 254 63 40965687 [md0] 6 L Linux RAID 3574 1 1 4210 254 63 10233342 [md1] 7 L Linux 4211 1 1 14592 254 63 166786767 [ Quit ] [Search! ] [ Write ] Return to main menu
Ici, TestDisk vous demande de confirmer la bonne opération; ainsi vous avez le choix final de ce que TestDisk fera réellement.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Write partition table, confirm ? (Y/N)
Retour à Exécuter TestDisk